#include "hcouleur.h"

//-----------------------------------------------------Constructeurs et destructeurs-----------------------------------------------------//

/****************************************************************************
 * Constructeur par défault                                                 *
 ****************************************************************************/
HCouleur::HCouleur()
{
    _rouge = 0.0;
    _vert = 0.0;
    _bleu = 1.0;
}

/****************************************************************************
 * Constructeur à trois paramètres                                          *
 ****************************************************************************/
HCouleur::HCouleur(GLfloat r, GLfloat v, GLfloat b)
    :_rouge(r), _vert(v), _bleu(b)
{

}


/****************************************************************************
 * Destructeur                                                              *
 ****************************************************************************/
HCouleur::~HCouleur()
{

}

//---------------------------------------------------------------Méthodes----------------------------------------------------------------//

/****************************************************************************
 * On utilise l'habillage couleur                                           *
 ****************************************************************************/
void HCouleur::utiliser()
{
    glDisable(GL_TEXTURE_2D);
    glColor3f(_rouge, _vert, _bleu);
}

//---------------------------------------------------------------Accesseurs--------------------------------------------------------------//

/****************************************************************************
 * Accesseur sur la couleur rouge                                           *
 * @return : la composante rouge de la couleur                              *
 ****************************************************************************/
GLfloat HCouleur::getR()
{
    return _rouge;
}

/****************************************************************************
 * Accesseur sur la couleur verte                                           *
 * @return : la composante verte de la couleur                              *
 ****************************************************************************/
GLfloat HCouleur::getV()
{
    return _vert;
}

/****************************************************************************
 * Accesseur sur la couleur bleue                                           *
 * @return : la composante bleue de la couleur                              *
 ****************************************************************************/
GLfloat HCouleur::getB()
{
    return _bleu;
}

/****************************************************************************
 * Mutateur sur la couleur rouge                                            *
 * @param r : la composante rouge de la couleur                             *
 ****************************************************************************/
void HCouleur::setR(GLfloat r)
{
    this->_rouge = r;
}

/****************************************************************************
 * Mutateur sur la couleur verte                                            *
 * @param r : la composante verte de la couleur                             *
 ****************************************************************************/
void HCouleur::setV(GLfloat v)
{
    this->_vert = v;
}

/****************************************************************************
 * Mutateur sur la couleur bleue                                            *
 * @param r : la composante bleue de la couleur                             *
 ****************************************************************************/
void HCouleur::setB(GLfloat b)
{
    this->_bleu = b;
}


//------------------------------------------------------Surcharge des opérateurs---------------------------------------------------------//


